package com.yixun.qfbao.api.service;

import com.yixun.qfbao.apidto.*;
import com.yixun.qfbao.model.dto.BaseCodeValueDto;

/**
 * 字典类型值业务
 * @author guifang.weng
 * @create 2017-11-24 11:49
 **/
public interface BaseCodeValueService {

    /**
     * 获取字典类型值
     * @param getBaseCodeValueListReqDto
     * @return
     * @throws Exception
     */
    GetBaseCodeValueListResDto getBaseCodeValueList(GetBaseCodeValueListReqDto getBaseCodeValueListReqDto) throws Exception;

    /**
     * 获取字典类型page
     * @param getBaseCodeValuePageReqDto
     * @return
     * @throws Exception
     */
    GetBaseCodeValuePageResDto getBaseCodeValuePage(GetBaseCodeValuePageReqDto getBaseCodeValuePageReqDto) throws Exception;

    /**
     * 新增类型值
     * @param addBaseCodeValueReqDto
     * @return
     * @throws Exception
     */
    AddBaseCodeValueResDto addBaseCodeValue(AddBaseCodeValueReqDto addBaseCodeValueReqDto) throws Exception;

    /**
     * 修改类型值
     * @param editBaseCodeValueReqDto
     * @return
     * @throws Exception
     */
    EditBaseCodeValueResDto editBaseCodeValue(EditBaseCodeValueReqDto editBaseCodeValueReqDto) throws Exception;

    /**
     * 删除类型值
     * @param delBaseCodeValueReqDto
     * @return
     * @throws Exception
     */
    DelBaseCodeValueResDto delBaseCodeValue(DelBaseCodeValueReqDto delBaseCodeValueReqDto) throws Exception;

    /**
     * 统计数量
     * @param bcvDto
     * @return
     */
    int count(BaseCodeValueDto bcvDto);
}
